package br.com.bb.cslsp.modelo.bem.vendabem;

import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import br.com.bb.cslsp.modelo.dependencia.Dependencia;
import br.com.bb.cslsp.modelo.funcionario.Funcionario;

@Entity
@Table(name = "vb_processo", schema = "apps")
public class ProcessoVendaBem implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;

	private String fonteConsultada;
	private String observacao;

	@Temporal(TemporalType.DATE)
	private Date dataProcesso;

	@Temporal(TemporalType.TIMESTAMP)
	private Calendar dataHoraAvisoVenda;

	@Temporal(TemporalType.DATE)
	private Date dataLimiteVenda;

	@ManyToOne
	private Dependencia dependencia;

	@ManyToOne
	private Funcionario funcionarioDesignado;

	@Transient
	private String numeroProcesso;

	@Enumerated(EnumType.ORDINAL)
	private Status status;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getFonteConsultada() {
		return fonteConsultada;
	}

	public void setFonteConsultada(String fonteConsultada) {
		this.fonteConsultada = fonteConsultada;
	}

	public String getObservacao() {
		return observacao;
	}

	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	public Date getDataProcesso() {
		return dataProcesso;
	}

	public void setDataProcesso(Date dataProcesso) {
		this.dataProcesso = dataProcesso;
	}

	public Calendar getDataHoraAvisoVenda() {
		return dataHoraAvisoVenda;
	}

	public void setDataHoraAvisoVenda(Calendar dataHoraAvisoVenda) {
		this.dataHoraAvisoVenda = dataHoraAvisoVenda;
	}

	public Date getDataLimiteVenda() {
		return dataLimiteVenda;
	}

	public void setDataLimiteVenda(Date dataLimiteVenda) {
		this.dataLimiteVenda = dataLimiteVenda;
	}

	public Dependencia getDependencia() {
		return dependencia;
	}

	public void setDependencia(Dependencia dependencia) {
		this.dependencia = dependencia;
	}

	public Funcionario getFuncionarioDesignado() {
		return funcionarioDesignado;
	}

	public void setFuncionarioDesignado(Funcionario funcionarioDesignado) {
		this.funcionarioDesignado = funcionarioDesignado;
	}

	public String getNumeroProcesso() {
		return numeroProcesso;
	}

	public void setNumeroProcesso(String numeroProcesso) {
		this.numeroProcesso = numeroProcesso;
	}

	public Status getStatus() {
		return status;
	}

	public void setStatus(Status status) {
		this.status = status;
	}

}
